// Generated from /home/suemi/Workspace/Missile/missile-common/src/main/resources/Mql.g4 by ANTLR 4.7
package com.suemi.missile.common.mql.parse;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link MqlParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface MqlVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link MqlParser#query}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitQuery(MqlParser.QueryContext ctx);

  /**
	 * Visit a parse tree produced by {@link MqlParser#select}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitSelect(MqlParser.SelectContext ctx);

  /**
	 * Visit a parse tree produced by {@link MqlParser#where}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitWhere(MqlParser.WhereContext ctx);

  /**
	 * Visit a parse tree produced by {@link MqlParser#from}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitFrom(MqlParser.FromContext ctx);

  /**
	 * Visit a parse tree produced by the {@code parCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitParCond(MqlParser.ParCondContext ctx);

  /**
	 * Visit a parse tree produced by the {@code orCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitOrCond(MqlParser.OrCondContext ctx);

  /**
	 * Visit a parse tree produced by the {@code containsCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitContainsCond(MqlParser.ContainsCondContext ctx);

  /**
	 * Visit a parse tree produced by the {@code andCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitAndCond(MqlParser.AndCondContext ctx);

  /**
   * Visit a parse tree produced by the {@code notCond}
   * labeled alternative in {@link MqlParser#cond}.
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitNotCond(MqlParser.NotCondContext ctx);

  /**
   * Visit a parse tree produced by the {@code parWordExpr}
   * labeled alternative in {@link MqlParser#wordExpr}.
   *
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitParWordExpr(MqlParser.ParWordExprContext ctx);

  /**
   * Visit a parse tree produced by the {@code atomWordExpr}
	 * labeled alternative in {@link MqlParser#wordExpr}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitAtomWordExpr(MqlParser.AtomWordExprContext ctx);

  /**
	 * Visit a parse tree produced by the {@code andWordExpr}
	 * labeled alternative in {@link MqlParser#wordExpr}.
	 * @param ctx the parse tree
   * @return the visitor result
   */
  T visitAndWordExpr(MqlParser.AndWordExprContext ctx);

  /**
   * Visit a parse tree produced by the {@code notWordExpr}
   * labeled alternative in {@link MqlParser#wordExpr}.
   *
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitNotWordExpr(MqlParser.NotWordExprContext ctx);

  /**
   * Visit a parse tree produced by the {@code orWordExpr}
   * labeled alternative in {@link MqlParser#wordExpr}.
   *
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitOrWordExpr(MqlParser.OrWordExprContext ctx);

  /**
	 * Visit a parse tree produced by the {@code andFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitAndFieldExpr(MqlParser.AndFieldExprContext ctx);

  /**
   * Visit a parse tree produced by the {@code notFieldExpr}
   * labeled alternative in {@link MqlParser#fieldExpr}.
   *
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitNotFieldExpr(MqlParser.NotFieldExprContext ctx);

  /**
   * Visit a parse tree produced by the {@code idFieldExpr}
   * labeled alternative in {@link MqlParser#fieldExpr}.
   *
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitIdFieldExpr(MqlParser.IdFieldExprContext ctx);

  /**
	 * Visit a parse tree produced by the {@code parFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitParFieldExpr(MqlParser.ParFieldExprContext ctx);

  /**
	 * Visit a parse tree produced by the {@code orFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitOrFieldExpr(MqlParser.OrFieldExprContext ctx);

  /**
	 * Visit a parse tree produced by {@link MqlParser#orderby}.
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitOrderby(MqlParser.OrderbyContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#orderbyList}.
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitOrderbyList(MqlParser.OrderbyListContext ctx);

  /**
	 * Visit a parse tree produced by {@link MqlParser#limit}.
   * @param ctx the parse tree
   * @return the visitor result
   */
	T visitLimit(MqlParser.LimitContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#fieldList}.
   * @param ctx the parse tree
   * @return the visitor result
   */
  T visitFieldList(MqlParser.FieldListContext ctx);
}